package com.yonyou.cyxdms.basedata.service.repository.region;

import com.yonyou.cyx.framework.dao.base.SuperMapper;
import com.yonyou.cyxdms.basedata.service.dto.JsonRegionDTO;
import com.yonyou.cyxdms.basedata.service.entity.region.RegionPO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 地区表 Mapper 接口
 * </p>
 *
 * @author renwd
 * @since 2018-12-19
 */
public interface RegionMapper extends SuperMapper<RegionPO> {

    /**
     * 查询所有省市区县数据
     *
     * @param regionType
     * @return java.util.List<com.yonyou.cyxdms.basedata.service.entity.region.JsonRegionDTO>
     * @author renwd
     * @since 2018/12/27
     */
    List<JsonRegionDTO> listAllRegionData(@Param("appId") String appId, @Param("regionType") Integer regionType);

    /**
     * 根据关键字查询城市列表
     *
     * @param forWord
     * @return
     */
    List<Map<String, Object>> cityInfo(@Param("forWord") String forWord);

    /**
     * 根据省市区id查询对应的信息
     *
     * @param:
     * @return:
     * @auther: tanjie
     * @since: 2019/10/17
     */
    Map<String, Object> getProvinceRelatedData(@Param("provinceId") Long provinceId,
                                               @Param("cityId") Long cityId,
                                               @Param("countyId") Long countyId);

    List<Long> getRegionIdList(@Param("regionName")String regionName, @Param("regionTypeList")List<Integer> regionTypeList, @Param("isLike")Integer isLike);
}
